package pers.julio.notepad.PageSwitcher;
import java.util.List;

import androidx.fragment.app.Fragment;
import pers.julio.notepad.PageSwitcher.Base.BaseFragment;
import pers.julio.notepad.PageSwitcher.Bean.SwitchBean;

/**
 * ClassName:  IPageSwitcher
 * Description: <页面跳转接口，用于控制页面跳转或启动新的activity>
 * Author: julio_chan  2020/10/20 11:39
 */
public interface IPageSwitcher {
    // fragmentTag 是否在当前顶上activity上的最顶上的fragment
    boolean isFragmentTop(String fragmentTag);
    // 是否查找到某个page
    boolean findPage(final String pageName);

    // 跳转页面
    Fragment switchPage(SwitchBean bean);
    // 打开页面
    Fragment openPage(SwitchBean bean);

    // 退出当前页面（只有一个fragment时会关闭Activityt）
    void popPage();
    // 移除多个页面
    void removePages(List<String> fragmentLists);

    //页面跳转，支持跨Activity进行传递数据
    public Fragment openPageForResult(final SwitchBean page, final BaseFragment fragment);
}
